const http = require("http");

const app = http.createServer(function(req,res){
    // req:也就是回调函数的第一个参数，一定是请求报文
    // res:也就是回调函数的第二个参数，一定是响应报文
    //如何知道浏览器访问的路径？
    // 答：通过 req.url来获取浏览器访问的路径(不包含基础路径)
    console.log(req.url);
    // setHeader： 设置响应头，content-type用于设置返回给前端的数据类型
    // 数据类型我们如何知道呢？答：通过一个网站查询：https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Basics_of_HTTP/MIME_types
    res.setHeader("content-type","text/html;charset=utf-8")
    // 实现获取用户信息接口
    if(req.url === "/admin/user/info"){
        let obj = {
            nickname: "小明",
            userPic: "http://127.0.0.1:8000/123.png"
        }
        // end方法中只接收字符串或者buffer对象
        res.end(JSON.stringify(obj))
    }else{
        // 设置请求状态码
        res.statusCode = 404;
        // 注意：返回参数中的404是假的404，只是后端人员为了告诉前端人员错误的原因
        // res.end表示请求结束了，并返回数据给前端
        res.end("{msg: '请求失败',code: 404}")
    }
})

// 端口号自己声明，值的访问0-6万多
// 建议大家，端口号取值4位数
app.listen("8000",()=>{
    console.log("服务器启动成功：http://127.0.0.1:8000");
})

/**
 * 总结：
 * 1、res.end：值只能是字符串获取是buffer对象
 * 2、setHeader:设置响应头信息，比如设置返回给前端的数据类型和格式（content-type）
 *      注意：setHeader一定要写在res.end函数之前才有效
 * 
 * */ 